The present disclosure relates to a technology for running an operating system (OS) on one or more other OSs using an OS-level virtualization technology as an architecture for a mobile device, and more particularly, to a duo operating system (OS) for Android security, a mobile device having a duo operating system for Android security, and a method of securing a mobile device equipped with a duo operating system.
An existing mobile device provides only one layer in which an OS operates, and a monitoring and security application operates with normal and malicious applications in the layer, that is, in the same space, regardless of a mobile security state (rooting or unrooting and jailbreaking or non-jailbreaking).
For this reason, security activists agitate for a security application, but theoretically, a security application does not have any merit in comparison with other applications.
In spite of the development of a Linux kernel, Android which is a mobile OS still cannot reuse general applications and tools of the Linux OS. Also, in some recent cases, one device has required multi-platforms.
Android emulators, such as Android virtual device (AVD) and other quick emulator (QEMU)-based emulators, are generally used for malicious code analysis. However, most Android malicious code employs anti-emulator techniques for detecting an Android emulator, and it is difficult to analyze malicious code to which an Android emulator bypassing technique has been applied.
Ubuntu Touch, Condroid, and Cells are solutions that support Android containers for different purposes.
Condroid and Cells use OS-level virtualization methods to provide one or more Android environments that may be used for different uses. Ubuntu Touch is a solution for the purpose of providing an Ubuntu-like application to Android with the help of a Linux containers (LXC) container and libhybris.
Cells and Condroid use an LXC technology for Android to build an Android container. However, LXC for Android is a sub-project of LXC and is not a main interest. Therefore, LXC for Android source code have a problem of compatibility.
For example, in some Android LXC versions, the existence of a systemd service is checked, and an error occurs when there is no systemd service. Also, projects of an Android environment developed in LXC have a limitation in that they cannot execute many applications provided in a Linux environment. Further, Ubuntu Touch only focuses on resolving a graphical user interface (GUI) problem by providing a partial container solution that is not completely isolated.